
DS1923
iButton Hygrochron Temperature/Humidity
Logger with 8KB Data-Log Memory
V PUP
t REH
t REH
V TH
V HY
0V
CASE A
t GL
CASE B
t GL
CASE C
Figure 14. Noise Suppression Scheme
POLYNOMIAL = X 16 + X 15 + X 2 + 1
X 0
1ST
STAGE
X 1
2ND
STAGE
X 2
3RD
STAGE
X 3
4TH
STAGE
X 4
5TH
STAGE
X 5
6TH
STAGE
X 6
7TH
STAGE
X 7
8TH
STAGE
9TH
STAGE
10TH
STAGE
11TH
STAGE
12TH
STAGE
13TH
STAGE
14TH
STAGE
15TH
STAGE
16TH
STAGE
X 8
X 9
X 10
X 11
X 12
X 13
X 14
X 15
X 16
CRC OUTPUT
INPUT DATA
Figure 15. CRC-16 Hardware Description and Polynomial
CRC Generation
The DS1923 uses two types of CRCs. One CRC is an
8-bit type and is stored in the most significant byte of
the 64-bit ROM. The bus master can compute a CRC
value from the first 56 bits of the 64-bit ROM and com-
pare it to the value stored within the DS1923 to deter-
mine if the ROM data has been received error-free. The
equivalent polynomial function of this CRC is
X 8 + X 5 + X 4 + 1. This 8-bit CRC is received in the true
(noninverted) form, and it is computed at the factory
and lasered into the ROM.
The other CRC is a 16-bit type, generated according to
the standardized CRC-16 polynomial function
X 16 + X 15 + X 2 + 1. This CRC is used for error detec-
tion when reading register pages or the data-log mem-
ory using the Read Memory with CRC command and
for fast verification of a data transfer when writing to or
reading from the scratchpad. In contrast to the 8-bit
44
CRC, the 16-bit CRC is always communicated in the
inverted form. A CRC generator inside the DS1923
(Figure 15) calculates a new 16-bit CRC as shown in
the command flowchart of Figure 9. The bus master
compares the CRC value read from the device to the
one it calculates from the data and decides whether to
continue with an operation or to reread the portion of
the data with the CRC error. With the initial pass
through the Read Memory with CRC flowchart, the 16-
bit CRC value is the result of shifting the command byte
into the cleared CRC generator, followed by the 2
address bytes and the data bytes. The password is
excluded from the CRC calculation. Subsequent pass-
es through the Read Memory with CRC flowchart gen-
erate a 16-bit CRC that is the result of clearing the CRC
generator and then shifting in the data bytes.
With the Write Scratchpad command, the CRC is gener-
ated by first clearing the CRC generator and then shift-
Maxim Integrated